可以透過協程在主程式執行過程中執行其他任務,並在一定幀數內完成該任務的處理,不需要等待也不會影響主程式完成,運用在一些資源消耗極大的程式執行,能夠減少遊戲卡頓。可以用在時間延遲、動畫效果、等待事件發生等功能。
StartCoroutine(Test());//呼叫協程函式
IEnumerator Test()
{
yield return null;
}
yield return null;
yield return 0或其他數字;
//都是暫停協程等待下一幀繼續執行
yield return new WairForSeconds(要等待的時間); 等待設定的時間後繼續執行
yield return StartCoroutine("協程名稱");開啟另一個協程
###實作
void Update()
{
StartCoroutine(Task());//呼叫
}
有點難晚點研究完更新
參考資料:
https://iter01.com/597545.html
https://www.youtube.com/watch?v=z1myiS1z7Ek
https://docs.unity3d.com/2021.1/Documentation/Manual/Coroutines.html